-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
BUG in Series.interpolate: limit_area/limit_direction kwargs with method="pad"/"bfill" have no effect #38106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BUG in Series.interpolate: limit_area/limit_direction kwargs with method="pad"/"bfill" have no effect #38106
Conversation
This test currently only test `limit_area`. For `limit_direction` the implementation should later raise an error, because `pad` and `bfill` both already define a direction. But let's now first do the implementation of the `limit_area` for `pad` and `bfill`.
Since methods `pad` and `bfill` in `blocks.interpolate` end up using `missing.interpolate_2d` which can not (easily) be extended to support `limit_area`, I introduce the new function `missing.interpolate_1d_fill`. It is a modified copy of `interpolate_2d` but only works for 1d data and uses newly introduced function `_derive_indices_of_nans_to_preserve`, which is now also used in `missing.interpolate_1d`. It works the same way as the 1D-interpolation functions which are based on scipy-interpolation which are applied via np.apply_along_axis.
…values` also was changed via appliying `func`
…e used Test for all forbidden combos of `pad` and `backfill` is included
…d `limit_direction`
…ments Test on my local machine are not affected by removing the unncessery arguments `valid` and `invalid`, which are now derived within the function.
…imit_area_and_limit_direction_with_pad Manually resolved conflicts: * doc/source/whatsnew/v1.1.0.rst: Just a conflicting line * pandas/tests/series/test_missing.py: All test for interpolation have been moved to a new file pandas/tests/series/methods/test_interpolate.py I accepted all changes from upstream, which removed my tests from test_missing.py and manually added my test to the new file methods/test_interpolate.py
Co-Authored-By: William Ayd <[email protected]>
…imit_area_and_limit_direction_with_pad I removed most of the code that I have added in this branch and will add it back in step by step in the next commits
Tests should be red now
provided by pandas-dev#34749 Test are green now
… into interpolate_2d
…26796-interpolate-kwargs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great doc-string comment; pin gon green.
…26796-interpolate-kwargs
pandas/core/missing.py
Outdated
|
||
values[invalid] = np.nan | ||
else: | ||
values = interpolate_2d( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is hit? (this is weird because its called from interpolate_2d itself).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
refactored this away (leftover from original PR)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it was hit for one example but values
wasn't changed so may as well just drop through
…26796-interpolate-kwargs
hmm, precommit is failing. |
@simonjayhawkins i expect to merge this for 1.2 but not blocking rc |
…26796-interpolate-kwargs
thanks @arw2019 |
black pandas
git diff upstream/master -u -- "*.py" | flake8 --diff
Picking up #31048